﻿using System;
using System.Collections.Generic;
using System.Text;
using Mighty.Common;

namespace Mighty.PlayingBoard
{
    public interface IVisual
    {
        /// <summary>
        /// 최신 GameInfo를 설정한다
        /// </summary>
        /// <param name="g"></param>
        void SetGameInfo(GameInfo g);

        /// <summary>
        /// 현재생태에 맞는 화면을 그려라
        /// </summary>
        /// <param name="s">현재상태</param>
        /// <param name="position">-1 : no position</param>
        /// <returns></returns>
        object Visualize(ActualStatus s, int position);

        /// <summary>
        /// 게임상의 대화를 그려라
        /// </summary>
        /// <param name="msg"></param>
        /// <param name="position"></param>
        void Talk(String msg, int position);

        /// <summary>
        /// 게임진행과 관련 없는 채팅 메세지를 그려라
        /// </summary>
        /// <param name="msg"></param>
        /// <param name="position"></param>
        void Chat(String msg, int position);
    }
}
